package com.frx.leetcode.base.arraytest;

import java.util.Arrays;

/**
 * @author ：frx
 * @date ：Created in 2019/7/16 21:39
 * @description： leetcode 加一
 *          输入 ： {1,2,3}  输出 {1，2，4}
 * @modified By：
 * @version: ToDO
 */
public class PushOne {

    public static void main(String[] args){
        int[] nums1 = {9,9,9,9};
        System.out.println(Arrays.toString(solution(nums1)));
    }
    /** 解法一 递归的思路求解  解法二  直接遍历数组将其转换为整数，加一之后再转换为数组*/
    public static int[] solution(int[] nums){

        nums(nums,nums.length -1);

        if (nums[0] == 10){
            int[] nums2 = new int[nums.length + 1];
            nums2[0] = 1;
            return nums2;
        }
        return nums;
    }

    private static void nums(int[] nums,int j){
        if (j == 0){
        nums[0] = nums[0]+1;
        return;
    }
        if (nums[j] < 9){
        nums[j] = nums[j] + 1;
    } else {
        nums[j] = 0;
        nums(nums,j-1);
    }
}
}
